﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IM.Easy.Core.Cache
{
    /// <summary>
    /// 缓存配置选项类，用于传递缓存的配置。
    /// </summary>
    public class CacheOption
    {
        /// <summary>
        /// 获取或设置缓存类型（如内存缓存或 Redis 缓存）。
        /// </summary>
        public CacheType CacheType { get; set; }

        /// <summary>
        /// 获取或设置 Redis 的连接字符串（仅当缓存类型为 Redis 时使用）。
        /// </summary>
        public string ConnectionString { get; set; }

        /// <summary>
        /// 获取或设置默认的缓存过期时间（可选）。
        /// </summary>
        public TimeSpan? DefaultExpiration { get; set; }
    }

    /// <summary>
    /// 缓存类型枚举，表示可用的缓存类型。
    /// </summary>
    public enum CacheType
    {
        /// <summary>
        /// 内存缓存类型。
        /// </summary>
        Memory,

        /// <summary>
        /// Redis 缓存类型。
        /// </summary>
        Redis
    }

}
